<%@page contentType="content-type: application/x-javascript" %>
var equiposMaximo;
var equiposAceptados;

var GESTIONAR_TORNEO = {

	inicio : function() {
		equiposMaximo = $('#datos-torneo dd:eq(0)').text().split('/')[1];
		equiposAceptados = $('#equipos-aceptados li').length;
		var formulario = $('#equipos-pendientes form:eq(0)');
		formulario.reset();
		$('#equipos-aceptados button').click(function() {
			var activo = $(this);
			var equipo = activo.parent().find('a:eq(0)');
			AVISO.mostrar('¿Estás seguro de que deseas eliminar este equipo del torneo de usuario?',1,1,function(){
				$.ajax({
					type: 'POST',
					url: '/xhr/xhr_borrar_equipos',
					data: 'equipo=' + equipo.attr('href').split('/')[equipo.attr('href').split('/').length-2] + '&urlTorneo=' + document.location.href.split('/')[document.location.href.split('/').length-2],
					dataType: 'json',
					success: function(datos) {
						if (datos['cabecera']['correcto'] == '1')
							GESTIONAR_TORNEO.borrarEquipo(activo.parent());
						else
							AVISO.mostrar(MENSAJE_ERROR_AJAX,1,0);
					},
					error: function() {
						AVISO.mostrar(MENSAJE_ERROR_AJAX,1,0);
					}
				});
			});
		});		
		GESTIONAR_TORNEO.equiposPendientes(formulario);
		$('#boton-aceptar-seleccionados').click(function() {
			$('#accion').val('aceptar');
			var seleccionados = formulario.find('input:checkbox:gt(0):checked');
			if (seleccionados.length > (equiposMaximo-equiposAceptados))
				AVISO.mostrar('El número de equipos aceptados excede el número de plazas disponibles. Por favor, haz una nueva selección.',1,0);
			else
				formulario.submit();
		});
		$('#boton-rechazar-seleccionados').click(function() {
			$('#accion').val('rechazar');
			AVISO.mostrar('¿Estás seguro de que deseas rechazar los equipos seleccionados?',1,1,function(){
				formulario.submit();
			});
		});
		var fechaInicio = $('#fecha-inicio');
		fechaInicio.datepicker({ dateFormat: 'dd/mm/yy', minDate: '0', maxDate: '+15', prevText: 'Mes anterior', nextText: 'Mes siguiente', constrainInput: true, showButtonPanel: true, closeText: ' ' });
		fechaInicio.change(function() {
			$(this).parents('form').submit();
		});
		$('#inicio-torneo button').click(function() {
			fechaInicio.datepicker('show');
			return false;
		});
	},
	
	borrarEquipo : function(cual) {
		cual.hide(VELOCIDAD_SLIDE,function(){
			$(this).remove();
		});
		equiposAceptados--;
		$('#datos-torneo dd:eq(0)').text((parseInt($('#datos-torneo dd:eq(0)').text().split('/')[0])-1)+'/'+equiposMaximo);
		$('#equipos-pendientes h4 span').text(parseInt($('#equipos-pendientes h4 span').text())+1);
		if (equiposAceptados == 0) {
			$('#equipos-aceptados').hide(VELOCIDAD_SLIDE,function(){
				$(this).remove();
			});
		}
	},
	
	equiposPendientes : function(formulario) {
		$('#elegir-equipo-todos').click(function() {
			if ($(this).attr('checked') == true)
				formulario.find('input:checkbox:gt(0)').attr('checked',true);
			else
				formulario.find('input:checkbox:gt(0)').attr('checked',false);
		});
	}

}




var PAGINACION_EQUIPOS = {

	inicio: function() {
		var caja = $('#datos-equipos');
		caja.find('ol.paginacion a').click(function() {
			CARGANDO.mostrar(caja);
			$.ajax({
				type: 'POST',
				url: '/xhr/xhr_equipos_pendientes',
				data: 'urlTorneo=' + $(this).attr('href').split('/')[$(this).attr('href').split('/').length-4] + '&pagina=' + $(this).attr('href').split('/')[$(this).attr('href').split('/').length-2],
				dataType: 'text',
				dataFilter: function(datos) {
					return AJAX.transformar(datos);
        },
				success: function(datos) {
					if (datos['cabecera']['correcto'] == '1')
						PAGINACION_EQUIPOS.actualizar(caja,datos);
					else
						AVISO.mostrar(MENSAJE_ERROR_AJAX,1,0);
					CARGANDO.ocultar(caja.find('div.cargando'));
				},
				error: function() {
					AVISO.mostrar(MENSAJE_ERROR_AJAX,1,0);
					CARGANDO.ocultar(caja.find('div.cargando'));
				}
			});
			return false;
		});
	},
	
	actualizar : function(caja,datos) {
		caja.find('table').replaceWith(datos['datos']);
		caja.find('table').hide().fadeIn(VELOCIDAD_FADE);
		caja.find('ol.paginacion').replaceWith(datos['paginacion']);
		caja.find('ol.paginacion').hide().fadeIn(VELOCIDAD_FADE);
		PAGINACION_EQUIPOS.inicio();
		GESTIONAR_TORNEO.equiposPendientes($('#equipos-pendientes form'));
	}
	
}




$(document).ready(function() {
	GESTIONAR_TORNEO.inicio();
	PAGINACION_EQUIPOS.inicio();
});